﻿using System.Collections.Generic;
using System.Diagnostics.Contracts;

namespace Library.Linq
{
    public interface IExcept<T>
    {
        [Pure]
        IEnumerable<T> Except(T item);
        [Pure]
        IEnumerable<T> Except(T item, IEqualityComparer<T> comparer);
        [Pure]
        IEnumerable<T> Except(IEnumerable<T> enumerable);
        [Pure]
        IEnumerable<T> Except(IEnumerable<T> enumerable, IEqualityComparer<T> comparer);
    }
}
